#include "widget.h"
#include "ui_widget.h"
#include<QIcon>
#include<QKeySequence>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 使用 ui访问界面元素
    // 使用 this进行窗口级操作
    // ui->pushButton->setText("hahahd");
    // this->setWindowTitle("Man");

    //设置重复触发，就可以一直按着了
    ui->up->setAutoRepeat(true);
    ui->left->setAutoRepeat(true);
    ui->down->setAutoRepeat(true);
    ui->right->setAutoRepeat(true);

    //设置图标(按钮使用setIcon可以设置图片；label这一类者使用QPixmap)
    ui->target->setIcon(QIcon(":/doge.png"));
    ui->target->setIconSize(QSize(100, 100));
    ui->up->setIcon(QIcon(":/up.png"));
    ui->down->setIcon(QIcon(":/down.png"));
    ui->left->setIcon(QIcon(":/left.png"));
    ui->right->setIcon(QIcon(":/right.png"));

    //设置快捷键
    //使⽤ setShortcut 给按钮设置快捷键. 参数是⼀个 QKeySequence 对象. 表⽰⼀个按键序列. ⽀持组合键 (ctrl + c 这种)
    //QKeySequence 的构造函数参数, 可以直接使⽤ "ctrl+c" 这样的按键名字符串表⽰, 也可以使⽤预定义好的常量 (形如 Qt::CTRL + Qt::Key_C ) 表⽰
    ui->up->setShortcut(QKeySequence("w"));
    ui->down->setShortcut(QKeySequence("s"));
    ui->left->setShortcut(QKeySequence("d"));
    ui->right->setShortcut(QKeySequence("a"));


}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_up_clicked()
{
    QRect rect=ui->target->geometry();
    ui->target->setGeometry(rect.x(),rect.y()-10,rect.width(),rect.height());
}


void Widget::on_right_clicked()
{
    QRect rect=ui->target->geometry();
    ui->target->setGeometry(rect.x()+10,rect.y(),rect.width(),rect.height());

}


void Widget::on_down_clicked()
{
    QRect rect=ui->target->geometry();
    ui->target->setGeometry(rect.x(),rect.y()+10,rect.width(),rect.height());
}


void Widget::on_left_clicked()
{
    QRect rect=ui->target->geometry();
    ui->target->setGeometry(rect.x()-10,rect.y(),rect.width(),rect.height());
}

